#include <cstdio>

const int N = 100;
int n, cnt, dfn[N], low[N];
int e_cnt, heads[N];

struct Edge {
  int v, nxt;
} e[N << 1];

inline void add(int u, int v) {
  e[++e_cnt].v = v, e[e_cnt].nxt = heads[u], heads[u] = e_cnt;
}

void tarjan(int x, int fa) {
  dfn[x] = low[x] = ++cnt;
  bool flag = false;
  for (int i = heads[x], v; i; i = e[i].nxt) {
    if ((v = e[i].v) != fa) {
      if (!dfn[v]) tarjan(v, x);
      else if (low[v] < dfn[x]) {
        flag = true;
      }
    }
  }
}
int main() {
#ifndef ONLINE_JUDGE
#ifdef LOCAL
  freopen("testdata.in", "r", stdin);
  freopen("testdata.out", "w", stdout);
#else
  freopen("StaticTree.in", "r", stdin);
  freopen("StaticTree.out", "w", stdout);
#endif
#endif

  return 0;
}